home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / CIncludes / Finder.h < prev    next >
C/C++ Source or Header  |  1996-05-01  |  4KB  |  146 lines

  1. /*
  2.      File:        Finder.h
  3.  
  4.      Contains:    Finder flags and container types.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __FINDER__
  19. #define __FINDER__
  20.  
  21. #ifndef __TYPES__
  22. #include <Types.h>
  23. #endif
  24.  
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28.  
  29. #if PRAGMA_IMPORT_SUPPORTED
  30. #pragma import on
  31. #endif
  32.  
  33. #if PRAGMA_ALIGN_SUPPORTED
  34. #pragma options align=mac68k
  35. #endif
  36.  
  37.  
  38. enum {
  39.                                                                 /* Make only the following consts avaiable to resource files that include this file */
  40.     kCustomIconResource            = -16455,                        /* Custom icon family resource ID */
  41.     kContainerFolderAliasType    = 'fdrp',                        /* type for folder aliases */
  42.     kContainerTrashAliasType    = 'trsh',                        /* type for trash folder aliases */
  43.     kContainerHardDiskAliasType    = 'hdsk',                        /* type for hard disk aliases */
  44.     kContainerFloppyAliasType    = 'flpy',                        /* type for floppy aliases */
  45.     kContainerServerAliasType    = 'srvr',                        /* type for server aliases */
  46.     kApplicationAliasType        = 'adrp',                        /* type for application aliases */
  47.     kContainerAliasType            = 'drop',                        /* type for all other containers */
  48.                                                                 /* types for Special folder aliases */
  49.     kSystemFolderAliasType        = 'fasy',
  50.     kAppleMenuFolderAliasType    = 'faam',
  51.     kStartupFolderAliasType        = 'fast',
  52.     kPrintMonitorDocsFolderAliasType = 'fapn',
  53.     kPreferencesFolderAliasType    = 'fapf',
  54.     kControlPanelFolderAliasType = 'fact',
  55.     kExtensionFolderAliasType    = 'faex',                        /* types for AppleShare folder aliases */
  56.     kExportedFolderAliasType    = 'faet',
  57.     kDropFolderAliasType        = 'fadr',
  58.     kSharedFolderAliasType        = 'fash',
  59.     kMountedFolderAliasType        = 'famn'
  60. };
  61.  
  62.  
  63. enum {
  64.                                                                 /* Finder Flags */
  65.     kIsOnDesk                    = 0x01,
  66.     kColor                        = 0x0E,
  67.     kIsShared                    = 0x40,
  68.     kHasBeenInited                = 0x0100,
  69.     kHasCustomIcon                = 0x0400,
  70.     kIsStationery                = 0x0800,
  71.     kIsStationary                = 0x0800,
  72.     kNameLocked                    = 0x1000,
  73.     kHasBundle                    = 0x2000,
  74.     kIsInvisible                = 0x4000,
  75.     kIsAlias                    = 0x8000
  76. };
  77.  
  78. /*
  79.     The following declerations used to be in Files.i, 
  80.     but are Finder specific and were moved here.
  81. */
  82. #if !OLDROUTINELOCATIONS
  83.  
  84. enum {
  85.                                                                 /* Finder Constants */
  86.     fOnDesk                        = 1,
  87.     fHasBundle                    = 8192,
  88.     fTrash                        = -3,
  89.     fDesktop                    = -2,
  90.     fDisk                        = 0
  91. };
  92.  
  93. struct FInfo {
  94.     OSType                             fdType;                        /*the type of the file*/
  95.     OSType                             fdCreator;                    /*file's creator*/
  96.     unsigned short                     fdFlags;                    /*flags ex. hasbundle,invisible,locked, etc.*/
  97.     Point                             fdLocation;                    /*file's location in folder*/
  98.     short                             fdFldr;                        /*folder containing file*/
  99. };
  100. typedef struct FInfo FInfo;
  101.  
  102. struct FXInfo {
  103.     short                             fdIconID;                    /*Icon ID*/
  104.     short                             fdUnused[3];                /*unused but reserved 6 bytes*/
  105.     SInt8                             fdScript;                    /*Script flag and number*/
  106.     SInt8                             fdXFlags;                    /*More flag bits*/
  107.     short                             fdComment;                    /*Comment ID*/
  108.     long                             fdPutAway;                    /*Home Dir ID*/
  109. };
  110. typedef struct FXInfo FXInfo;
  111.  
  112. struct DInfo {
  113.     Rect                             frRect;                        /*folder rect*/
  114.     unsigned short                     frFlags;                    /*Flags*/
  115.     Point                             frLocation;                    /*folder location*/
  116.     short                             frView;                        /*folder view*/
  117. };
  118. typedef struct DInfo DInfo;
  119.  
  120. struct DXInfo {
  121.     Point                             frScroll;                    /*scroll position*/
  122.     long                             frOpenChain;                /*DirID chain of open folders*/
  123.     SInt8                             frScript;                    /*Script flag and number*/
  124.     SInt8                             frXFlags;                    /*More flag bits*/
  125.     short                             frComment;                    /*comment*/
  126.     long                             frPutAway;                    /*DirID*/
  127. };
  128. typedef struct DXInfo DXInfo;
  129.  
  130. #endif
  131.  
  132. #if PRAGMA_ALIGN_SUPPORTED
  133. #pragma options align=reset
  134. #endif
  135.  
  136. #if PRAGMA_IMPORT_SUPPORTED
  137. #pragma import off
  138. #endif
  139.  
  140. #ifdef __cplusplus
  141. }
  142. #endif
  143.  
  144. #endif /* __FINDER__ */
  145.  
  146.